package io.renren.modules.workflow.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.renren.modules.workflow.entity.dto.ActBusTaskVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * @Desc 流程业务流转对象 act_bus_workflow_data
 * @Author landlord
 * @Date 2021/7/30 10:06
 */
public class ActBusWorkflowData {

    /**
     * 流程业务流转ID
     */
    private Long abwdId;

    /**
     * 部署ID
     */
    private String abwdDeployId;

    /**
     * 定义ID
     */
    private String abwdDefineId;

    /**
     * 实例ID
     */
    private String abwdInstanceId;

    /**
     * 第一个环节的任务ID
     */
    private String abwdTaskId;

    /**
     * 业务类型
     */
    private String abwdBusinessType;

    /**
     * 流程标题
     */
    private String abwdTitle;

    /**
     * 表单JSON
     */
    private String abwdFormJson;

    /**
     * 发起人
     */
    private String abwdUserId;

    /**
     * 发起人姓名
     */
    private String abwdUserName;

    /**
     * 单位ID
     */
    private String abwdDeptId;

    /**
     * 单位名称
     */
    private String abwdDeptName;

    /**
     * 备注
     */
    private String abwdRemark;

    /**
     * 流程状态 0 暂存 1：审核中 2审批驳回 3审批通过
     */
    private Integer abwdWorkflowStatus;

    /**
     * 业务状态 1待接收,待销毁 2已接收,已销毁
     */
    private Integer abwdBusinessStatus;
    /**
     * 流程任务对象
     **/
    private ActBusTaskVo actBusTaskVo;

    /**
     *流程部署对象
     */
    private ActBusModelDefinition actBusModelDefinition;





    /**
     *接收时间
     */
    private Date receiveTime;

    private String orderBy;

    private String tableName;

    private String busType;

    private String categoryId;

    private String[] paramIds;

    private String processNo;

    /** 用户ID */
    private Long userId;

    /** 部门ID */
    private Long deptId;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getProcessNo() {
        return processNo;
    }

    public void setProcessNo(String processNo) {
        this.processNo = processNo;
    }

    public Date getReceiveTime() {
        return receiveTime;
    }

    public void setReceiveTime(Date receiveTime) {
        this.receiveTime = receiveTime;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getBusType() {
        return busType;
    }

    public void setBusType(String busType) {
        this.busType = busType;
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public String[] getParamIds() {
        return paramIds;
    }

    public void setParamIds(String[] paramIds) {
        this.paramIds = paramIds;
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public void setAbwdId(Long abwdId) {
        this.abwdId = abwdId;
    }

    public Long getAbwdId() {
        return abwdId;
    }

    public void setAbwdDeployId(String abwdDeployId) {
        this.abwdDeployId = abwdDeployId;
    }

    public String getAbwdDeployId() {
        return abwdDeployId;
    }

    public void setAbwdDefineId(String abwdDefineId) {
        this.abwdDefineId = abwdDefineId;
    }

    public String getAbwdDefineId() {
        return abwdDefineId;
    }

    public void setAbwdInstanceId(String abwdInstanceId) {
        this.abwdInstanceId = abwdInstanceId;
    }

    public String getAbwdInstanceId() {
        return abwdInstanceId;
    }

    public String getAbwdTaskId() {
        return abwdTaskId;
    }

    public void setAbwdTaskId(String abwdTaskId) {
        this.abwdTaskId = abwdTaskId;
    }

    public void setAbwdBusinessType(String abwdBusinessType) {
        this.abwdBusinessType = abwdBusinessType;
    }

    public String getAbwdBusinessType() {
        return abwdBusinessType;
    }

    public void setAbwdTitle(String abwdTitle) {
        this.abwdTitle = abwdTitle;
    }

    public String getAbwdTitle() {
        return abwdTitle;
    }

    public void setAbwdFormJson(String abwdFormJson) {
        this.abwdFormJson = abwdFormJson;
    }

    public String getAbwdFormJson() {
        return abwdFormJson;
    }

    public void setAbwdUserId(String abwdUserId) {
        this.abwdUserId = abwdUserId;
    }

    public String getAbwdUserId() {
        return abwdUserId;
    }

    public void setAbwdUserName(String abwdUserName) {
        this.abwdUserName = abwdUserName;
    }

    public String getAbwdUserName() {
        return abwdUserName;
    }

    public void setAbwdDeptId(String abwdDeptId) {
        this.abwdDeptId = abwdDeptId;
    }

    public String getAbwdDeptId() {
        return abwdDeptId;
    }

    public void setAbwdDeptName(String abwdDeptName) {
        this.abwdDeptName = abwdDeptName;
    }

    public String getAbwdDeptName() {
        return abwdDeptName;
    }

    public void setAbwdRemark(String abwdRemark) {
        this.abwdRemark = abwdRemark;
    }

    public String getAbwdRemark() {
        return abwdRemark;
    }

    public void setAbwdWorkflowStatus(Integer abwdWorkflowStatus) {
        this.abwdWorkflowStatus = abwdWorkflowStatus;
    }

    public Integer getAbwdWorkflowStatus() {
        return abwdWorkflowStatus;
    }

    public void setAbwdBusinessStatus(Integer abwdBusinessStatus) {
        this.abwdBusinessStatus = abwdBusinessStatus;
    }

    public Integer getAbwdBusinessStatus() {
        return abwdBusinessStatus;
    }

    public ActBusTaskVo getActBusTaskVo() {
        return actBusTaskVo;
    }

    public void setActBusTaskVo(ActBusTaskVo actBusTaskVo) {
        this.actBusTaskVo = actBusTaskVo;
    }

    public ActBusModelDefinition getActBusModelDefinition() {
        return actBusModelDefinition;
    }

    public void setActBusModelDefinition(ActBusModelDefinition actBusModelDefinition) {
        this.actBusModelDefinition = actBusModelDefinition;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public ActBusWorkflowData(){
        super();
    }

    public ActBusWorkflowData(Long abwdId, String abwdDeployId, String abwdDefineId, String abwdInstanceId, String abwdBusinessType, String abwdTitle, String abwdFormJson, String abwdUserId, String abwdUserName, String abwdDeptId, String abwdDeptName, String abwdRemark, Integer abwdWorkflowStatus, Integer abwdBusinessStatus) {
        this.abwdId = abwdId;
        this.abwdDeployId = abwdDeployId;
        this.abwdDefineId = abwdDefineId;
        this.abwdInstanceId = abwdInstanceId;
        this.abwdBusinessType = abwdBusinessType;
        this.abwdTitle = abwdTitle;
        this.abwdFormJson = abwdFormJson;
        this.abwdUserId = abwdUserId;
        this.abwdUserName = abwdUserName;
        this.abwdDeptId = abwdDeptId;
        this.abwdDeptName = abwdDeptName;
        this.abwdRemark = abwdRemark;
        this.abwdWorkflowStatus = abwdWorkflowStatus;
        this.abwdBusinessStatus = abwdBusinessStatus;
    }

    public ActBusWorkflowData(String abwdDeployId, String abwdDefineId, String abwdInstanceId, String abwdBusinessType, String abwdTitle, String abwdFormJson, String abwdUserId, String abwdUserName, String abwdDeptId, String abwdDeptName, String abwdRemark, Integer abwdWorkflowStatus, Integer abwdBusinessStatus) {
        this.abwdDeployId = abwdDeployId;
        this.abwdDefineId = abwdDefineId;
        this.abwdInstanceId = abwdInstanceId;
        this.abwdBusinessType = abwdBusinessType;
        this.abwdTitle = abwdTitle;
        this.abwdFormJson = abwdFormJson;
        this.abwdUserId = abwdUserId;
        this.abwdUserName = abwdUserName;
        this.abwdDeptId = abwdDeptId;
        this.abwdDeptName = abwdDeptName;
        this.abwdRemark = abwdRemark;
        this.abwdWorkflowStatus = abwdWorkflowStatus;
        this.abwdBusinessStatus = abwdBusinessStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("abwdId", getAbwdId())
                .append("abwdDeployId", getAbwdDeployId())
                .append("abwdDefineId", getAbwdDefineId())
                .append("abwdInstanceId", getAbwdInstanceId())
                .append("abwdBusinessType", getAbwdBusinessType())
                .append("abwdTitle", getAbwdTitle())
                .append("abwdFormJson", getAbwdFormJson())
                .append("abwdUserId", getAbwdUserId())
                .append("abwdUserName", getAbwdUserName())
                .append("abwdDeptId", getAbwdDeptId())
                .append("abwdDeptName", getAbwdDeptName())
                .append("abwdRemark", getAbwdRemark())
                .append("abwdWorkflowStatus", getAbwdWorkflowStatus())
                .append("abwdBusinessStatus", getAbwdBusinessStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
